package Demo5;
//面向对象过度：开始找功能——>现在有什么的对象   就有什么什么样的功能
//面向对象的三大特征：封装、继承、多态
//以后的开发就是在找对象进行使用   ：没有对象   就创建一个对象！！！！
//开发就是：找对象   建立对象   使用对象   维护对象之间的关系
public class Test5_1 
{
	public static void main(String[] args)
	{
		//生产汽车：在Java中通过new操作符来完成
		//其实就是在堆内存中产生一个实体
		//c是一个局部变量    处于主函数中	
		//变量存储于栈内存中
		Car c = new Car(); //c是一个类类型的变量   注意：类类型变量指向对象
		System.out.println(c.color);
		//将已有的车的颜色改成蓝色    在Java中的方式是：对象.对象成员！！！！！！！！！！~~~~~
		c.color = "blue";
		System.out.println(c.color);
		c.run();
		
		Car c1 = new Car();
		System.out.println(c1.color);
		
		
		System.out.println("-=-------------------");
		//例子：注意两对象指向同一个堆内存中的类     指向的地址一样
		Car c2 = new Car();
		c2.num = 5;
		Car c3 = c2;
		c3.color = "green";
		c3.run();
		
		
		
		
		
		
	}

}

/*类和对象的关系：
 *例如：
 *现实生活中得对象：张三    李四
 *描述对象：提取对象中共性内容，对具体的抽象——>类
 *描述时：这些对象的共性有：姓名   性别   年龄   学习Java的功能
 *
 * 在Java中   通过类来体现描述——》都是不具体的
 * 具体对象：对应Java在堆内存中用new建立的实体——实体均存放在堆内存中
 * 类：就是对现实生活中事物的描述
 * 对象：就是这类事物   实实在在存在的个体

 * */
//人开门:名词提炼法！！！！！！
//人  门   看方法定义在什么属性中最合适！！！

//需求：描述汽车
//其实定义类：就是在描述事物   就是在定义属性和行为
//属性和行为：称为类中的成员（成员变量和成员方法【函数】）
class Car //类需要有一个名字
//事物的描述：属性和行为！！！！！！！！
    {
	//属性：颜色
	String color = "red";     //成员变量：作用于整个类中
	
	//字符串的在堆内存中：初始化值默认是null
	//属性：轮胎数
	int num = 4;
	
	//行为：运行
	void run()
	{
		System.out.println(color+"---"+num);
		
	}
	
	//一个类中们可以不使用主函数！！！！！！！！！！！！！
	
	}

//局部变量作用于函数或者语句中
//在内存中：成员变量在堆内存中，因为对象的存在   才在内存中存在
//局部变量：存在于栈内存中


//当在类中加上主函数时    可以独立运行！！！！
//一个程序有一个主函数（入口即可）可以定义很多类






























































































































































































































































































